package com.boss.core.manage;

import com.boss.core.manage.BossConfiguration;
import com.boss.core.manage.BossProperty;
import com.boss.core.manage.BossPropertyDescriptor;
import org.kohsuke.stapler.DataBoundConstructor;

import hudson.Extension;

/**
 * Boss String Property
 * @author Momin Noor Khan
 */
public class BossStringProperty extends BossProperty {
    private String name;
    private String value;
    private String description;

    @DataBoundConstructor
    public BossStringProperty(String name, String value, String description) {
        this.name = name;
        this.value = value;
        this.description = description;
    }

    public BossStringProperty(String name, String value) {
        this(name, value, null);
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Extension
    public static class DescriptorImpl extends BossPropertyDescriptor {
        public String getDisplayName() {
            return "Boss String Property";
        }

        @Override
        public BossProperty newInstance(BossConfiguration configObj) {
            // TODO Auto-generated method stub
            return null;
        }

    }
}
